/* 文本排版类开始 */
.text-ellipsis {
    display: block;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
}

.text-clamp {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.text-clamp-3 {
    -webkit-line-clamp: 3;
}

.text-clamp-4 {
    -webkit-line-clamp: 4;
}

.text-clamp-5 {
    -webkit-line-clamp: 5;
}

.text-clamp-6 {
    -webkit-line-clamp: 6;
}

.text-clamp-7 {
    -webkit-line-clamp: 7;
}

.text-clamp-8 {
    -webkit-line-clamp: 8;
}

.text-clamp-9 {
    -webkit-line-clamp: 9;
}

.text-clamp-10 {
    -webkit-line-clamp: 10;
}
/* 文本排版类结束 */

/* 媒体组件类开始 */
.image-wrap,
.video-wrap {
    display: block;
    position: relative;
    z-index: 1;
    font-size: 0;
    overflow: hidden;
}

.image-wrap img,
.video-wrap video{
    display: block;
    max-width: 100%;
    transition: all ease 0.5s;
}

.image-wrap .center-image,
.video-wrap .center-video {
    margin: 0 auto;
}

.image-wrap .full-image,
.video-wrap .full-video {
    width: 100%;
}

.image-wrap .fill-image,
.video-wrap .fill-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.image-wrap .contain-image,
.video-wrap .contain-video {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.image-wrap .image-mask,
.video-wrap .video-mask {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0);
    opacity: 0;
    transition: all ease 0.5s;
}

.icon {
    display: inline-block;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
/* 媒体组件类结束 */